﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

using Vega.USiteBuilder;

namespace SPCFMedicineInformer.DocumentTypes
{
    [DocumentType(Name = "Medicine Item",
                    IconUrl = "package.png")]

    public class MedicineItem : Vega.USiteBuilder.DocumentTypeBase
    {
        [DocumentTypeProperty(UmbracoPropertyType.Textstring, Name = "Category Id", Description = "",
            Tab = Constants.Tabs.Content)]
        public string CategoryId { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.Textstring, Name = "Category Name", Description = "",
            Tab = Constants.Tabs.Content)]
        public string CategoryName { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.Textstring, Name = "Generic Id", Description = "",
            Tab = Constants.Tabs.Content)]
        public string GenericId { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.TextboxMultiple, Name = "Generic Name", Description = "",
            Tab = Constants.Tabs.Content)]
        public string GenericName { get; set; }

        



        [DocumentTypeProperty(UmbracoPropertyType.TextboxMultiple, Name = "Indication", Description = "",
            Tab = Constants.Tabs.Content)]
        public string Indication { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.TextboxMultiple, Name = "Dosages", Description = "",
            Tab = Constants.Tabs.Content)]
        public string Dosages { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.Textstring, Name = "When is to be taken?", Description = "",
            Tab = Constants.Tabs.Content)]
        public string WhenIsToBeTaken { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.Textstring, Name = "How is to be taken?", Description = "",
            Tab = Constants.Tabs.Content)]
        public string HowIsToBeTaken { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.Textstring, Name = "Warnings", Description = "",
            Tab = Constants.Tabs.Content)]
        public string Warnings { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.Textstring, Name = "Side Effects", Description = "",
            Tab = Constants.Tabs.Content)]
        public string SideEffects { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.Textstring, Name = "Equal Branded Names", Description = "",
            Tab = Constants.Tabs.Content)]
        public string EqualBrandedNames { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.Textstring, Name = "Amount", Description = "",
            Tab = Constants.Tabs.Content)]
        public string Amount { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.Textstring, Name = "Symptoms", Description = "Delimited by semi-colon (;)",
            Tab = Constants.Tabs.Content)]
        public string Symptoms { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.TextboxMultiple, Name = "Drug Interaction", Description = "",
            Tab = Constants.Tabs.Content)]
        public string DrugInteraction { get; set; }
        
        [DocumentTypeProperty(UmbracoPropertyType.Textstring, Name = "ImageUrl", Description = "",
            Tab = Constants.Tabs.Content)]
        public string ImageUrl { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.TextboxMultiple, Name = "Administration", Description = "",
          Tab = Constants.Tabs.Content)]
        public string Administration { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.TextboxMultiple, Name = "Special Precautions", Description = "",
             Tab = Constants.Tabs.Content)]
        public string SpecialPrecautions { get; set; }

        #region MakeCopyToMultipleTextboxV2
        [DocumentTypeProperty(UmbracoPropertyType.Textstring, Name = "Contradiction", Description = "",
             Tab = Constants.Tabs.Content)]
        public string Contradiction { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.Textstring, Name = "Presentation/Packaging", Description = "",
            Tab = Constants.Tabs.Content)]
        public string Presentation_Packaging { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.Textstring, Name = "Adverse Reactions", Description = "",
           Tab = Constants.Tabs.Content)]
        public string AdverseReactions { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.Textstring, Name = "Pregnancy Safety", Description = "",
            Tab = Constants.Tabs.Content)]
        public string PregnancySafety { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.Textstring, Name = "Medicine Name", Description = "",
            Tab = Constants.Tabs.Content)]
        public string MedicineName { get; set; }

        #endregion

        #region MultipleTextboxV2
        [DocumentTypeProperty(UmbracoPropertyType.TextboxMultiple, Name = "ContradictionMT", Description = "",
             Tab = Constants.Tabs.Content)]
        public string ContradictionMT { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.TextboxMultiple, Name = "Presentation/PackagingMT", Description = "",
            Tab = Constants.Tabs.Content)]
        public string Presentation_PackagingMT { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.TextboxMultiple, Name = "Adverse ReactionsMT", Description = "",
           Tab = Constants.Tabs.Content)]
        public string AdverseReactionsMT { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.TextboxMultiple, Name = "Pregnancy SafetyMT", Description = "",
            Tab = Constants.Tabs.Content)]
        public string PregnancySafetyMT { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.TextboxMultiple , Name = "Medicine NameMT", Description = "",
            Tab = Constants.Tabs.Content)]
        public string MedicineNameMT { get; set; }

        #endregion

        #region Revision
        [DocumentTypeProperty(UmbracoPropertyType.Numeric, Name = "Prescription From Age", Description = "",
            Tab = Constants.Tabs.Content)]
        public int PrescriptionFromAge { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.Numeric, Name = "Prescription To Age", Description = "",
            Tab = Constants.Tabs.Content)]
        public int PrescriptionToAge { get; set; }

        [DocumentTypeProperty(UmbracoPropertyType.Textstring, Name = "Prescription Age Type", Description = "",
            Tab = Constants.Tabs.Content)]
        public string PrescriptionAgeType { get; set; }
        #endregion

    }
}
